home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / Icon.mod < prev    next >
Text File  |  1995-06-29  |  3KB  |  117 lines

  1. (**************************************************************************
  2.  
  3.      $RCSfile: Icon.mod $
  4.   Description: Interface to icon.library
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   Includes Release 40.15
  12.  
  13.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  14.       All Rights Reserved
  15.  
  16.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  17.   This file is part of the Oberon-A Interface.
  18.   See Oberon-A.doc for conditions of use and distribution.
  19.  
  20. ***************************************************************************)
  21.  
  22. <* STANDARD- *>
  23.  
  24. MODULE [2] Icon;
  25.  
  26. IMPORT SYS := SYSTEM, Kernel, e := Exec, w := Workbench;
  27.  
  28. (*
  29. **      $VER: icon.h 36.1 (26.10.90)
  30. **
  31. **      external declarations for icon.library
  32. *)
  33.  
  34. CONST
  35.  
  36.   iconName * = "icon.library";
  37.  
  38. VAR
  39.  
  40.   base * : e.LibraryPtr;
  41.  
  42.  
  43. (*-- Library Functions ------------------------------------------------*)
  44.  
  45. (*
  46. **      $VER: icon_protos.h 38.2 (16.6.93)
  47. *)
  48.  
  49. PROCEDURE GetIcon* [base,-42]
  50.   ( name      [8] : ARRAY OF CHAR;
  51.     icon      [9] : w.DiskObjectPtr;
  52.     freelist [10] : w.FreeListPtr )
  53.   : LONGINT;
  54. PROCEDURE PutIcon* [base,-48]
  55.   ( name [8] : ARRAY OF CHAR;
  56.     icon [9] : w.DiskObjectPtr )
  57.   : BOOLEAN;
  58. PROCEDURE FreeFreeList* [base,-54]
  59.   ( freelist [8] : w.FreeListPtr );
  60. PROCEDURE AddFreeList* [base,-72]
  61.   ( freelist [8] : w.FreeListPtr;
  62.     mem      [9] : e.APTR;
  63.     size    [10] : e.ULONG )
  64.   : BOOLEAN;
  65. PROCEDURE GetDiskObject* [base,-78]
  66.   ( name [8] : ARRAY OF CHAR )
  67.   : w.DiskObjectPtr;
  68. PROCEDURE PutDiskObject* [base,-84]
  69.   ( name    [8] : ARRAY OF CHAR;
  70.     diskobj [9] : w.DiskObjectPtr )
  71.   : BOOLEAN;
  72. PROCEDURE FreeDiskObject* [base,-90]
  73.   ( diskobj [8] : w.DiskObjectPtr );
  74. PROCEDURE FindToolType* [base,-96]
  75.   ( toolTypeArray [8] : e.APTR;
  76.     typeName      [9] : ARRAY OF CHAR )
  77.   : e.LSTRPTR;
  78. PROCEDURE MatchToolValue* [base,-102]
  79.   ( typeString [8] : ARRAY OF CHAR;
  80.     value      [9] : ARRAY OF CHAR )
  81.   : BOOLEAN;
  82. PROCEDURE BumpRevision* [base,-108]
  83.   ( VAR newname [8] : ARRAY OF CHAR;
  84.     oldname     [9] : ARRAY OF CHAR );
  85.  
  86. (* --- functions in V36 or higher (distributed as Release 2.0) ---*)
  87.  
  88. PROCEDURE GetDefDiskObject* [base,-120]
  89.   ( type [0] : LONGINT )
  90.   : w.DiskObjectPtr;
  91. PROCEDURE PutDefDiskObject* [base,-126]
  92.   ( diskObject [8] : w.DiskObjectPtr )
  93.   : BOOLEAN;
  94. PROCEDURE GetDiskObjectNew* [base,-132]
  95.   ( name [8] : ARRAY OF CHAR )
  96.   : w.DiskObjectPtr;
  97. PROCEDURE DeleteDiskObject* [base,-138]
  98.   ( name [8] : ARRAY OF CHAR )
  99.   : BOOLEAN;
  100.  
  101. (*-- Library Base variable --------------------------------------------*)
  102.  
  103. <*$LongVars-*>
  104.  
  105. (*-----------------------------------*)
  106. PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
  107.  
  108. BEGIN (* CloseLib *)
  109.   IF base # NIL THEN e.CloseLibrary (base) END
  110. END CloseLib;
  111.  
  112. BEGIN
  113.   base := e.OpenLibrary (iconName, e.libraryMinimum);
  114.   IF base = NIL THEN HALT (100) END;
  115.   Kernel.SetCleanup (CloseLib)
  116. END Icon.
  117.